package manejoDB;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Veko
 */
public class AdministradorDBServicio {

    private ConexionDB abm_consulta;

    public AdministradorDBServicio()  {
        this.abm_consulta = new ConexionDB();
        
    }

    public Boolean Conectar() throws SQLException {
        return this.abm_consulta.conectar();
    }
    
    public void desconectar() throws SQLException {
        this.abm_consulta.cierraConexion();
    }
    ////////////////////////////////////////// servicio

    public List<Integer> getCodServicios() throws SQLException {
        ResultSet consulta = this.abm_consulta.consulta("select idservicio from servicio;");
        List<Integer> mostrar = new ArrayList<Integer>();
        while (consulta.next()) {
            Integer id = consulta.getInt("idservicio");
            mostrar.add(id);

        }
        return mostrar;
    }

    public String getNombreServicio(Integer codServicio) throws SQLException {
        ResultSet consulta = this.abm_consulta.consulta("select nombre from servicio where idservicio=" + codServicio + ";");
        String mostrar = null; //new Integer();  
        while (consulta.next()) {
            mostrar = consulta.getString("nombre");

        }
        return mostrar;
    }

    public Double getPrecioServicio(Integer codServicio) throws SQLException {
        ResultSet consulta = this.abm_consulta.consulta("select precio from servicio where idservicio = " + codServicio + ";  ");

        Double mostrar = null; 
        while (consulta.next()) {
            mostrar = consulta.getDouble("precio");
        }
        return mostrar;


    }

    public void setNuevoServicio(String nombre, Double precio, Boolean tercerizado, Double precioProveedor,String tipo) throws SQLException {
        this.abm_consulta.insertar("insert into servicio (nombre,precio,tercerizado,precioproveedor,tipo) values ('" + nombre + "','" + precio + "','" + tercerizado + "','" + precioProveedor + "','"+ tipo +"');");
    }

    public boolean getEsTercerizado(Integer codServicio) throws SQLException {
        ResultSet consulta = this.abm_consulta.consulta("select tercerizado from servicio where idservicio = " + codServicio + ";");

        Boolean mostrar = null;
        while (consulta.next()) {
            mostrar = consulta.getBoolean("tercerizado");
        }
        return mostrar;
    }

    public Double getPrecioProveedor(Integer codServicio) throws SQLException {
        ResultSet consulta = this.abm_consulta.consulta("select precioproveedor from servicio where idservicio = " + codServicio + ";");

        Double mostrar = null;
        while (consulta.next()) {
            mostrar = consulta.getDouble("precioproveedor");
        }
        return mostrar;
    }

    public Integer getNuevoCodigoServicio() {
        Integer retorno = null;
        try {
            
            ResultSet consulta = this.abm_consulta.consulta("Select idServicio from servicio;");
            while(consulta.next())
                retorno=consulta.getInt("idServicio");
            
        } catch (SQLException ex) {
            Logger.getLogger(AdministradorDBServicio.class.getName()).log(Level.SEVERE, null, ex);
        }
        if(retorno==null)
                return 1;        
            return retorno+1;
    }

    static public void main(String[] args) throws SQLException {
        AdministradorDBServicio adbc = new AdministradorDBServicio();
        adbc.abm_consulta.conectar();
        Double n = new Double("234");
        //   adbc.setNuevoServicio("lalalal", n, true, n);

        //  ConexionDB c = ConexionDB.getConexion();
        // c.conectar();
        // adbc.setNuevoCl"aaaa", "aaaa",  "aaaa",  "aaaa",  "aaaa",  "aaaa",  "aaaa", "aaa","");
        //  adbc.setNuevoCliente("a", "a", "s", "s", "d", "d", "e", "w", "r");
        // adbc.agregarApellidoCliente("lolo", 1);
    }
}
